1. Field of the Invention
The present invention relates generally to Color Management Systems (CMSs) and more particularly, to measurement-based CMSs that can generate transform-based profiles either automatically or under user control.
2. Description of the Related Art
Today, there are many software profile-building tools that convert colorimetric measurement data into an International Color Consortium (ICC) device profile. Most of these tools directly control various measuring devices, such as calorimeters, spectrophotometers, and spectroradiometers, to capture the colorimetric data. The better tools offer some controls to let users control some aspects of black-generation, under color removal, and similar areas that address the many-to-one relationship between device control values and colorimetry. Some tools even offer the option of directly manipulating the one dimensional lookup tables, multi-dimensional lookup tables, and matrices in the resultant ICC device profile.
It is also a common feature of these systems that the calorimetric measurements may be stored in a data file. Often, these measurements are stored in a standard file format like the CGATS IT8.7 series of file formats.
The profile-building tools referred to above are used to create transform-based profiles that work in transform-based Color Management Modules (CMMs). A transform-based CMM makes use of an internal Profile Connection Space (PCS) that has a colorimetrically-defined color space volume. The viewing conditions of the PCS are strictly defined. This allows the PCS values to represent a known appearance.
The ICC discovered that it was important that the PCS also have a limited volume. If a printer device model, for example, had to map all possible color appearance values to fit within the gamut of the printer, then the gamut of color appearance values produced by typical source devices ends up over-compressed. In order to overcome this problem, the ICC has defined a reference PCS gamut. Earlier, the definition of the PCS gamut was determined by individual vendors, who often did not publish the characteristics of this gamut. Colors within the PCS reference gamut occupy most or all of the printer's gamut. Colors outside the reference PCS gamut are either clipped or compressed into a narrow range of the printer's gamut. Note that similar compression may be necessary for input devices with a gamut that extends outside the PCS reference gamut. One example is the gamut of a monitor. The light green of the green primary is outside the typical PCS reference gamut and so must be compressed.
ICC profiles are called transform-based profiles because mapping between the source colorimetry in the source viewing conditions to the volume of the PCS in the PCS viewing conditions, which requires a significant amount of processing and often requires certain aesthetic decisions as well, is performed by the profile building software and is stored in the profile in the form of a pre-computed transform. There are several steps involved in computing this transform. First, the source device values must be converted into colorimetry—a process called “device modeling.” Next, the source colorimetry and source viewing conditions are used to create color appearance values in a color appearance space. If some of the original color appearance does not fit within the PCS gamut, then some sort of gamut mapping will be needed. Many different Gamut Mapping Algorithms (GMAs) are known; it is an aesthetic decision which one to use. This mapping from source device space to the PCS gamut is called an AToB mapping. Once the mapping has been determined, the profile-building application creates a multidimensional lookup table (LUT). Using the LUT, a CMM can map from device control value to PCS value using simple table lookup and interpolation techniques. All the complex calculations took place when the LUT was created. A similar mapping, called a BToA mapping, is required to obtain device control values for an output device from PCS values.
ICC users have long requested that suppliers of CMSs move from the “Smart profile/dumb CMM” model to a “Dumb Profile/Smart CMM” model, that is, from a transform-based architecture to a measurement-based one. In a measurement-based model, the profiles contain only the colorimetric measurements themselves and the computation of the color transformation is performed by the CMS. U.S. Pat. No. 6,603,483 describes such an architecture. Such measurement-based profiles are much easier for users to validate and, if necessary, modify.
It may be the case in a networked computer environment that there are computers where the operating system supports a transform-based CMS and computers where the operating system supports a measurement-based CMS. A system based on measurement profiles may need to print to a networked printer. If that printer either is on an operating system using transform-based profiles or if the printer directly supports transform-based profiles, then there may be a need to provide a transform-based profile that has equivalent behavior to the color management transformation obtained from the measurement-based profile in a measurement-based CMS.
In the case above, if the destination machine (printer or networked computer) does not validate profiles, there is no need to create a completely conformant transform-based profile, since only one of the two transforms (AtoB or BtoA) is needed. However, profile building software will always build both transforms. Thus, it may be desirable to be able to create only the needed elements of the transform-based profile from the measurements.
One approach would be to use the measurements as input to a typical ICC profile builder. There are several possible problems with this approach. First, it may be important to perform this conversion in an automated system without requiring user intervention. Second, the measurement-based profiles may not contain the specific measurement values needed for the profile builder. Third, it is desirable to provide users with as much consistency with the measurement-based CMS as possible. Fourth, it would be advantageous to use the device-specific expertise that hardware vendors use in creating device model plug-ins for the measurement-based CMS. It is also desirable that the solution be able to avoid the limitations of the print-centric ICC PCS. (By “print-centric,” it is meant that the PCS gamut is shaped like that of a typical ink-jet printer, with the most chromatic values being dark. When transforming between two video displays, the print-centric gamut requires clipping colors to the PCS gamut that are actually within the gamut of both the source and destination devices.)
In the networked environment described above, it may be desirable to obtain color results that are as consistent as possible across all the computers, regardless of how their CMS works. This is difficult to achieve when some profiles are measurement-based and the intelligence is in the CMM and other profiles are transformed-based, with the intelligence in the profile builder.
Therefore, a need exists for a CMS that is capable of generating transform-based profiles from measurement-based profiles. The CMS should be capable of using as much device-specific information as is available to the CMS and the generation process should be capable of being automated. Various aspects of the present invention meet such a need.